package com.str.demo01;

public class CMethod {
    public static void main(String[] args) {
        System.out.println("String类的常用方法");
        /**
         * 1.length();返回字符串长度
         * 2.charAt(int index); 返回某个位置的字符 index 0 开始
         * 3.contains(String str); 判断是否包含某个字符串 返回 boolean 布尔值
         */
        String s = "abcgadefgabchgaijk";
        System.out.println(s.length());        // int 类型
        System.out.println(s.charAt(0));       // a char类型
        System.out.println(s.contains("abc")); // true
        System.out.println(s.contains("ymb")); // false

        /**
         * 4.toCharArray(); 将字符串转 化为 字符数组 -- 把每一个字符都拆分出来成为一个数组中的一个元素
         * 5.indexOf(); 返回字符串首次出现的位置 返回 int 类型
         * 6.lastIndexOf(); 返回字符串最后一次出现的位置 返回 int 类型
         */
        char []b = s.toCharArray();
        System.out.println(b[2]);//最终输出的结果为s;

        System.out.println(s.indexOf("ga")); // 返回 3
        System.out.println(s.indexOf("ga",4)); // 从指定位置开始查找 返回 8
        System.out.println(s.lastIndexOf("ga")); // 13 最后一次出现的位置

        /**
         * 7.trim(); 去掉字符串前后空格 返回 String 类型
         *   strip(); 也可以移除字符串首尾空白字符。它和trim()不同的是，类似中文的空格字符\u3000也会被移除 -- jsk 11 谨慎使用
         * 8.toUpperCase(); 转换大写 返回 String 类型
         * 9.toLowerCase(); 换成小写 返回 String 类型
         * 10.startsWith(prefix,toffset); 判断字符串是以什么开始？ 返回 boolean
         * 11.endsWith(prefix,toffset); 判断字符串是以什么结束？ 返回 boolean
         */
        String str = " hello china ";
        System.out.println(str); // hello china
        System.out.println(str.trim()); //hello china
        String str_ip = "\u3000Hello\u3000";
        //System.out.println(str_ip.str());// "Hello"
        String str2 = "china";
        System.out.println(str2.toUpperCase()); // CHINA
        String str3 = "YMB GOODS";
        System.out.println(str3.toLowerCase()); // 转为小写 ymb goods
        String str4 = "you can do that";
        System.out.println(str4.startsWith("you")); // 是否以 you 开头 -- true
        System.out.println(str4.startsWith("ca",4)); // 从指定位置开始查找 是否以 ca 开头 -- true
        System.out.println(str4.startsWith("ha")); // 是否以 you 开头 -- false
        System.out.println(str4.endsWith("that")); // 是否以 that 结尾 -- true

        /**
         * 12.equals(String);  字符串比较大小
         * 13.equalsIgnoreCase(String); 忽略大小写比较
         * 14.substring(start index,end index); 字符串截取 左闭右开
         */
        System.out.println("========");
        String big = "hello";
        String small = "HELLO";
        System.out.println(big.equals(small));          // false
        System.out.println(big.equalsIgnoreCase(small));// true
        System.out.println(big.substring(2)); // 2位置 截取到最后
        System.out.println(big.substring(1,2)); // e 1开始 2结束

        /**
         * 15. replace(char old, char new); 用新的字符或字符串替换旧的字符或字符串
         * 16. split(); 按照规定的字符，把字符串转换成为数组
         */
        String str5 = "hello world";
        System.out.println(str5.replace("world","beijing"));
        String str6 = "java is the best language";
        String[] str_array = str6.split(" ");
        System.out.println("======");
        for (String svalue : str_array) {
            System.out.println(svalue);
        }
    }
}
